import {debounce} from '@@/admin/assets/js/global.js';
export default{
    data(){
        return {
            form:{},
            defaultForm:{},
            _update:false
        }
    },
    watch:{
        form:{
            handler:debounce(function(newValue){
                if (this._update){
                    let saveValue = JSON.parse(JSON.stringify(newValue));
                   
                    //去掉未更新的值，只保留更新的值
                    this.updateModelParam(this.rowIndex,this.modelIndex,this.modelId,saveValue);
                }
            },200),
            deep:true,
        }
    },
    props: {
        rowIndex:{
            type:Number,
            default:0
        },
        rowType:{
            type:String,
            default:''
        },
        modelIndex:{
            type:Number,
            default:0
        },
        modelId:{
            type:String,
            default:''
        },
        param:{
            type:Object,
            default:{}
        }
    },
    inject:{
       
        updateModelParam:{
            default(){
                return ()=>{}
            }
        }
    },
    beforeMount(){
        
        if (Object.keys(this.form).length==0){
            this.form = this.param;
        }else{
            this.$assign(this.form,this.param);
        }
        this._update = true;
    }
}